package biostienda.negocio;

import java.util.Collection;

import biostienda.dao.CategoriaDAO;
import biostienda.excepcion.DAOExcepcion;
import biostienda.modelo.Categoria;
import biostienda.modelo.TipoCategoria;
import biostienda.dao.TipoCategoriaDAO;

public class GestionCategorias {  

	public Collection<Categoria> buscarPorNombre(String nombre)
			throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		return dao.listar();
	}

	public Categoria insertar(String nombre, String descripcion, int tipoCategoria)
			throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();

		TipoCategoria ttt= new TipoCategoria();
		ttt.setIdTipoCategoria(tipoCategoria);
		
		Categoria vo = new Categoria();
		vo.setNombre(nombre);
		vo.setDescripcion(descripcion);
		vo.setTipoCategoria(ttt);

		return dao.insertar(vo);
	}
	
	
	public TipoCategoria insertar(int idTipoCategoria, String nomTipoCategoria)
			throws DAOExcepcion {
		TipoCategoriaDAO dao = new TipoCategoriaDAO();

		
		TipoCategoria vo = new TipoCategoria();
		vo.setIdTipoCategoria(idTipoCategoria);
		vo.setNomTipoCategoria(nomTipoCategoria);
		return dao.insertar(vo);
	}
	

	public Categoria obtener(int idCategoria) throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		return dao.obtener(idCategoria);
	}

	public void eliminar(int idCategoria) throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		dao.eliminar(idCategoria);
	}

	public Categoria actualizar(int idCategoria, String nombre,
			String descripcion) throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();

		Categoria vo = new Categoria();
		vo.setIdCategoria(idCategoria);
		vo.setNombre(nombre);
		vo.setDescripcion(descripcion);

		return dao.actualizar(vo);
	}

	public Collection<Categoria> listar() throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		return dao.listar();
	}

}
